<!-- userListPage.php 用于列出所有用户，增加了搜索功能和分页显示的功能。 -->

<!doctype html>

<html lang="en">

 <head>

  <meta charset="UTF-8">  

  <title>用户列表</title>

 </head>

 <body>

 

 <?php 

  require_once('inc_admin.php');

  //连接数据库 

  connect();

  //编写sql语句

  $sql = "select uid, uname, gender, birthdate, hobby, degree, intro, pic from users";

  //关键字可能是用户点击搜索按钮得到的，也可能是点击”下一页“超链接得到的

  if($_REQUEST['key'])  {	  

	  $key = trim($_REQUEST['key']);

	  $sql = $sql." where uname like '%{$key}%' ";	  

  }



  //获取总行数，用于计算分几页显示

  $totalrows = getTotalRows($sql);



  //获取指定的页码

  $page = $_REQUEST['page'];

  //判断是否指定第几页，如果没有指定，则显示第1页。

  if(!isset($page))	$page = 1;

  //如果用户点击了搜索按钮，则页码也设置第1页

  if($_POST['search'])		  $page = 1;

  //定义每页显示的行数

  $rowsperpage = 2;

  //计算从表中第几行开始输出

  $start = ($page-1) * $rowsperpage;



  //查询用户，从第$start行开始，共查询$rowsperpage行。

  $sql .= " limit {$start}, {$rowsperpage}";

  //echo $sql.'<br/>';

  //执行sql语句

  $result = fetch_array($sql);  

 ?>



 <center><h3>用户列表</h3></center>

 <table align="center" width="80%">

 <tr><td  align="left" >

 <form method=post action="">

    请输入用户名：

	<input type="text" name="key">

	<input type="submit" name='search' value="搜索">	

 </form> 

 </td></tr>

 </table>



 <table align="center" width="80%" border=1> 

 <tr>

   <th>用户编号</th>

   <th>用户名</th>   

   <th>性别</th>

   <th>生日</th>

   <th>爱好</th>

   <th>学历</th>

   <th>自我介绍</th> 

   <th width='80'>头像</th>

   <th>操作</th>

 </tr>



 <?php

  foreach($result as $row){

	 echo '<tr>';

	 echo '<td>'.$row['uid'].'</td>';

	 echo '<td>'.$row['uname'].'</td>';	 

	 echo '<td>'.($row['gender']==0?'男':'女').'</td>';

	 echo '<td>'.$row['birthdate'].'</td>';

	 echo '<td>'.$row['hobby'].'</td>';

	 switch($row['degree']){

	   case '1':$dg = "高中";break;

	   case '2':$dg = "大学";break;

	   case '3':$dg = "研究生";break;

	   case '4':$dg = "博士生";break;

	   default: $dg="不知道";

     }

	 echo '<td>'.$dg.'</td>';

	 echo '<td>'.$row['intro'].'</td>';	 	 

	 echo '<td align="center"><img src='.$row['pic'].' width=60 height=80></td>';	 

	 echo '<td><a href="userEditForm.php?id='.$row['uid'].' ">修改</a> | 

	 <a href="userDelete.php?id='.$row['uid'].'" onClick="return confirm(\'确定要删除吗？\');">删除</a></td>';

	 echo '</tr>';  

  }

  echo '</table>';  

  

  //计算总页数。如果每页显示的行数>总行数，则只有1页，否则，页数=总行数/每页行数，上取整。

  //echo $rowsperpage.', '.$totalrows;

  if($rowsperpage >= $totalrows)

      $totalpages = 1;

  else{	  

	  $totalpages = ceil($totalrows / $rowsperpage);

  }

  //如果不是第1页，则显示第一页和上一页的超链接，否则只显示文字

  if($page>1){

	  $first = "<a href=?page=1&key={$key}>第一页</a>";

	  $pre = "<a href=?page=".($page-1)."&key={$key}>上一页</a>";

  }else{

	  $first = '首页';

	  $pre = '上一页';

  }

  //如果不是最后一页，则显示下一页和最后一页的超链接，否则只显示文字

  if($page<$totalpages){

	  $last = "<a href=?page=$totalpages&key={$key}>尾页</a>";

	  $next = "<a href=?page=".($page+1)."&key={$key}>下一页</a>";

  }else{

	  $last = '尾页';

	  $next = '下一页';

  }

  echo "<table align='center'><tr>";

  echo "<td>共{$totalrows}条记录</td>";

  echo "<td>$first"."&nbsp;&nbsp;"."$pre"."&nbsp;&nbsp;";

  for($i=1;$i<=$totalpages;$i++) {

		echo "<a href='?page=$i&key={$key}'>第{$i}页</a>&nbsp;&nbsp;";

  }

  echo "$next"."&nbsp;&nbsp;"."$last &nbsp;";

  //输出第几页/共几页

  echo "<font color=red>";

  echo "第".$page."页/共".$totalpages."页";

  echo "</font></td>";

  //输出转到几页的表单

  ?>

  <td>

  <form method=post action="">

  <input type="text" name="page" placeholder="" size=2>

  <input type="submit" value="转到">  

  </form>

  </td></tr></table>

 

 </body>

</html>

